package vue.controle.sensibilite;

import java.awt.Color;
import java.io.Serializable;

public class ClasseCorrection implements Serializable
{
	private static final long serialVersionUID = 5756782017456483265L;
	private double _borneInf;
	private double _borneSup;
	private Color _couleur;
	private String _label;
	
	public ClasseCorrection(double borneInf, double borneSup, Color couleur, String label)
	{
		_borneInf = borneInf;
		_borneSup = borneSup;
		_couleur  = couleur;
		_label	  = label;
	}
	
	public double getBorneInf()
	{
		return _borneInf;
	}
	
	public double getBorneSup()
	{
		return _borneSup;
	}
	
	public void setBorneInf(double borneInf)
	{
		_borneInf = borneInf;
	}
	
	public void setBorneSup(double borneSup)
	{
		_borneSup = borneSup;
	}
	
	public Color getCouleur()
	{
		return _couleur;
	}
	
	public void setCouleur(Color couleur)
	{
		_couleur = couleur;
	}
	
	public String getLabel()
	{
		return _label;
	}
	
	public void setLabel(String label)
	{
		_label = label;
	}
	
	@Override
	public boolean equals(Object o)
	{
		if (o instanceof ClasseCorrection)
		{
			/*
			 * Des objets sont consideres comme egaux si l'un est compris dans l'autre et que leurs couleurs
			 * sont identiques.
			 */
			ClasseCorrection cc = (ClasseCorrection)o;
			double bInf = cc.getBorneInf();
			double bSup = cc.getBorneSup();
			return ( (bSup >= _borneInf && bSup <= _borneSup || bInf >= _borneInf && bInf <= _borneSup) || cc.getCouleur().toString().equals(_couleur.toString()) );
		}
		return false;
	}
	
	@Override
	public String toString()
	{
		return _couleur.toString() + " > " + String.valueOf(_borneInf) + " _ " + String.valueOf(_borneSup);
	}
}
